﻿using BCMongoEntity.StatisticsRequest;
using MongoDB.Bson;
using MongoDB.Driver;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace BCMongoData.StatisticsRequest
{
    /// <summary>
    /// 统计请求
    /// </summary>
    public interface IStatisticsRequestMongoData
    {
        /// <summary>
        /// 追加统计请求信息
        /// </summary>
        /// <param name="statisticsRequestEntity">统计请求信息</param>
        /// <returns></returns>
        void Append(StatisticsRequestEntity statisticsRequestEntity);

        /// <summary>
        /// 更新统计请求信息
        /// </summary>
        /// <param name="id">记录Id</param>
        /// <param name="updateDefinition">统计请求信息</param>
        /// <returns></returns>
        Task<StatisticsRequestEntity> Update(string id, UpdateDefinition<StatisticsRequestEntity> updateDefinition);

        /// <summary>
        /// 更新统计请求信息
        /// </summary>
        /// <param name="statisticsRequestEntity">统计请求信息</param>
        /// <returns></returns>
        Task<StatisticsRequestEntity> Get(int year, int month, int day, string accessApiName);
    }
}
